草庐IT

PHPUnit 和 CodeIgniter

全部标签

除非我禁用监听按钮,否则不会触发带有 PhpStorm 断点的 PHPUnit Xdebug

我有一个非常奇怪的情况,PhpStorm似乎没有捕捉到我的断点,除非我在启用监听按钮的情况下开始测试,然后在它启动后,我然后禁用该按钮。请参阅下面的屏幕截图和配置文件。关于我可能配置不正确的任何想法?这是PhpStorm在“挂起”时在控制台中显示的内容-Testingstartedat12:57PM.../usr/local/bin/php-dxdebug.remote_enable=1-dxdebug.remote_mode=req-dxdebug.remote_port=9009-dxdebug.remote_host=127.0.0.1/private/var/folders/k

php - CodeIgniter 显示重定向消息

我目前正在使用XAMPP来提供CodeIgniter3.1.7版动态Web应用程序。我的目标是能够在不查看数据库的情况下查看某个用户是否已创建/注册(即使普通用户也能看到)。在以前的框架版本中,例如3.0.1,可以解决这个问题,显示重定向消息,方法是:在Controller的users.php文件中使用“set_flashdata”和“Redirect()”,作为以下:$this->session->set_flashdata('user_registered','Userhasbeenregistered');redirect('home/index');在View中使用以下内容:s

php - 在 codeigniter 中下载后删除文件

我想在用户下载后从下载目录中删除我的文件。但它并没有被删除。我正在使用Codeigniterdownload_helper下载文件。下面是我的代码:Controllerpublicfunctiondownload($key,$id){$link=$this->article->download($key,$id);//getrecordfromdatabaseviaarticlemodelif(empty($link)){show_404();}force_download(DOWNLOADS_PATH.$link->file_name,NULL);//downloadfile$thi

php - 如何包含 CodeIgniter 生成的页面?

包含CI文件的最简单方法是什么?假设我想包括http://example.com/ci/index.php/mycontroller/在example.com上example.com不运行CI,我不能执行include('ci/index.php/mycontroller')。 最佳答案 因为我似乎无法调用CIController的功能,所以我决定使用jQuery简单地加载页面是最简单的:$('#myDiv').load('ci/index.php/mycontroller',{},function(){$('#myDiv#load

php - 如何访问 PHPUnit 3.4.9 中的全局变量?

我正在尝试使用PHPUnit3.4.9为一些遗留代码编写测试,但似乎我所有的全局变量都是不可见的。如何在PHPUnit3.4.9中访问全局变量? 最佳答案 它们应该可用。但是,PHPUnit会在测试之间备份全局状态:Bydefault,PHPUnitrunsyourtestsinawaywherechangestoglobalandsuper-globalvariables($GLOBALS,$_ENV,$_POST,$_GET,$_COOKIE,$_SERVER,$_FILES,$_REQUEST)donotaffectother

php - 库中的 CodeIgniter 验证不接受回调

我的问题如下:我正在编写一个登录库。这个库有一个函数_validation()并且它使用验证库来验证数据。使用正常的验证方法它工作得很好,但使用回调函数就不起作用。它没有被调用。我是这样调用它的。$this->CI->form_validation->set_rules('user','Username','required|callback__check_user');函数名称是_check_user,它使用用户名_check_user($user)。该函数本身工作正常,我也可以在类中调用它($this->_check_user('username'))并获得有效结果。我猜,这可能是

php - Codeigniter : variables scope when calling a view from within a view. 奇数

从View中调用View时,我对变量范围感到困惑。我测试了一下,发现:如果变量最初是从Controller传递的,则无需执行任何操作来将变量从View传递到View。如果变量是在View中声明的,我必须显式地将变量从一个View传递到另一个View。(例如:$this->load->view("hoge",$data);)我觉得第二种情况有点奇怪,因为我的理解是$this->load->view()是phpinclude()的codeigniter版本,它不需要我显式传递变量。谁能猜出/阐明他们这样做的原因? 最佳答案 如果您查看L

php - 在 PHPUnit 中模拟时在回调中通过引用传递

我有一个我想模拟的接口(interface),并模拟其中一个方法的行为。所以我创建了一个非常简单地模拟行为的回调。如果我创建一个基于此接口(interface)的新对象,则此测试通过,但我想模拟该接口(interface)。模拟的setUp方法被正常调用,并且在我的回调中调用getVar('testing')返回值。但是我的断言失败了,因为该值不可用。在PHPUnit中似乎不能这样做?除非我是傻子。代码流程的简要说明;“getVar”中的代码调用了一个方法,该方法在添加的插件上调用“setUp”。当它调用“setUp”时,它传入“$this”。这是我期望通过引用传递的$this,它适用

php - PHPUnit 的代码覆盖率

我在尝试确定我们网站上的代码覆盖率时遇到了问题。我让PHPUnit在我们的三个应用程序上运行单元测试时生成html代码覆盖率报告。我们有一个公共(public)应用程序、一个管理应用程序和一个报告应用程序。由于应用程序共享代码,我想以某种方式将它们合并到一个代码覆盖率报告中。似乎代码覆盖率只计算测试“接触”的文件的覆盖率,因此计算中没有使用完全未经测试的文件。有谁知道如何将这些未使用的文件拉入计算?有没有办法告诉覆盖率生成器使用某些目录进行计算,以便它提取未触及的文件?我在phpunit的配置文件中设置了一个白名单,设置为我们项目的根目录。欢迎所有评论、回答和建议。

php - 您能否发布有关如何将 PHPUnit 与 NetBeans 结合使用的示例?

我是PHPUnit的新手,我想将它与Netbeans一起使用。我已经知道有PHPUnit的文档,但没有太多关于如何将它与Netbeans一起使用的文档。首先看到一些工作示例会很棒。这样我学得更好。因此他们从Netbeans站点给出了这个示例,然后您可以右键单击文件->创建PHPUnit测试以自动生成PHPUnit类:classCalculator{/***@assert(0,0)==0*@assert(0,1)==1*@assert(1,0)==1*@assert(1,1)==2*@assert(1,2)==4*/publicfunctionadd($a,$b){return$a+$b